package org.springframework.beans;

import java.util.ArrayList;
import java.util.List;

/**
 * @Name PropertyValues
 * @Description: Bean 属性集合
 * @Version v1.0.0
 * @Author: lichao
 * @Date: 2024-03-15 14:10:07
 **/
public class PropertyValues {
    private final List<PropertyValue> propertyValueList = new ArrayList<>();

    /**
     * 获取所有的 Bean 属性
     *
     * @return org.springframework.beas.factory.config.PropertyValue[] Bean 属性集合
     * @version v1.0.0
     * @author lichao
     * @date 2024-03-15 14:13:58
     */
    public PropertyValue[] getPropertyValues() {
        return propertyValueList.toArray(new PropertyValue[0]);
    }

    /**
     * 添加 Bean 属性
     *
     * @param pv Bean 属性
     * @version v1.0.0
     * @author lichao
     * @date 2024-03-15 14:14:25
     */
    public void addPropertyValue(PropertyValue pv) {
        propertyValueList.add(pv);
    }

    /**
     * 获取 Bean 属性
     *
     * @param propertyName Bean 属性名称
     * @return org.springframework.beas.factory.config.PropertyValue Bean 属性
     * @version v1.0.0
     * @author lichao
     * @date 2024-03-15 14:14:42
     */
    public PropertyValue getPropertyValue(String propertyName) {
        for (int i = 0; i < this.propertyValueList.size(); i++) {
            PropertyValue pv = this.propertyValueList.get(i);
            if (pv.getName().equals(propertyName)) return pv;
        }
        return null;
    }

}

